The present invention relates to a knowledge processing system for use in an information processing apparatus.
In a frame language and an object-oriented language in a knowledge processing system, inheritance hierarchy constitutes an important language element. Control and operation of this inheritance hierarchy is one of the problems in structuring a knowledge processing system for executing a frame language and an object-oriented language. The control and operating system for this inheritance hierarchy is different for a frame language executing system than for an object-oriented language executing system.
Regarding frame language, reference may be made to pages 73 to 79 of the publication by Donald A. Waterman, entitled "A Guide to Expert Systems" published in 1986 by Addison-Wesley Publishing Company. For control and operation of an object-oriented language and inheritance hierarcy, reference may be made to pages 40 to 62 of the publication by Mark Stefik and Daniel Bobrow entitled "Object-Oriented Programming: Themes and Variations", published in AI magazine, Volume VI, Number 4, 1986 by the American Association for Artificial Intelligence (hereunder referred to as "Reference").
In many systems for executing languages which require model flexibility, a search system is used. This search system formulates a model in one-to-one correspondence with the objects of expression, and refers to slot values by searching inheritance hierarchy. The system "LOOPS" introduced in the above cited Reference is this kind of search system.
This search system, as the addition or alteration of slots in a class or the alteration of inheritance hierarchy is locally achieved therein, is capable of high speed processing. Since search is performed at the time of referring, however, it has the disadvantage of taking a long time for reference. In many systems for executing languages in which the executing efficiency of this reference is important, a compile system is used. This compile system determines in advance the position of an inheritable slot for each object. The system "FLAVORS" introduced in the above cited Reference is a type of this compile system.
This compile system, as it requires no search at the time of referring, can perform reference at high speed. It nevertheless has the disadvantage of taking a long time to add or alter slots in a class or to alter inheritance hierarchy because the alteration entails a substantial modification in each instance.